#include <my_head.h>

// 线程处理函数--线程体
void *task_func(void *arg){
    printf("我是子线程 arg = %p\n", arg); // 和main函数中value的地址相同
    #if 0
    // 处理参数的方式1：
    int *p = (int *)arg;
    printf("我是子线程 %d\n", *p); // 1314
    #else
    // 处理参数的方式2：
    int num = *(int *)arg;
    printf("我是子线程 %d\n", num); // 1314
    #endif
}

int main(int argc, const char *argv[]){
	int value = 1314;
    printf("我是主线程 &value = %p\n", &value); // 和task_func中的arg的值相同
    pthread_t tid = 0;
    int ret = 0;
    if(0 != (ret = pthread_create(&tid, NULL, task_func, &value))){
        printf("pthread_create error : [%d] [%s]\n", ret, strerror(ret));
        exit(EXIT_FAILURE);
    }
    printf("我是主线程 value = %d\n", value); // 1314
    sleep(100);
    return 0;
}
